home *** CD-ROM | disk | FTP | other *** search
/ 100 Plus Great Games 2 / 100PLUSV2.BIN / games / BlindAlleys.dxr / Internal_22_stock cards.ls < prev    next >
Encoding:
Text File  |  2002-01-25  |  1.8 KB  |  60 lines

  1. property spriteNum, wastecard
  2. global stock, waste, redeals
  3.  
  4. on beginSprite me
  5.   redeals = 0
  6.   stock = new(script("card pile"))
  7.   stock.cards = shuffle()
  8.   wastecard = sprite(10)
  9. end
  10.  
  11. on mouseDown me
  12.   if sprite(spriteNum).member.name = "backofcard" then
  13.     puppetSound(3, member("deal card", "100GPak Generic SFX"))
  14.     wastecard.member = member(stock.cards[1].rank & "_" & stock.cards[1].suit, "playing cards")
  15.     stock.cards.deleteAt(1)
  16.     waste.addCard(wastecard.spriteNum)
  17.     if stock.getcardcount() = 0 then
  18.       if redeals < 1 then
  19.         sprite(spriteNum).member = member("replenish", "playing cards")
  20.         redeals = redeals + 1
  21.       else
  22.         sprite(spriteNum).member = member("empty", "playing cards")
  23.         checklose()
  24.       end if
  25.     end if
  26.   else
  27.     if sprite(spriteNum).member.name = "replenish" then
  28.       sprite(spriteNum).member = member("backofcard", "playing cards")
  29.       stock.cards = reshuffle(waste.cards)
  30.       wastecard.member = member("empty", "playing cards")
  31.       wastecard.undercard.member = member("empty", "playing cards")
  32.     end if
  33.   end if
  34. end
  35.  
  36. on shuffle me
  37.   ranks = ["ace", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "jack", "queen", "king"]
  38.   suits = ["hearts", "diamonds", "clubs", "spades"]
  39.   unshuffledCards = []
  40.   shuffledCards = []
  41.   repeat with rank in ranks
  42.     repeat with suit in suits
  43.       unshuffledCards.add([#rank: rank, #suit: suit])
  44.     end repeat
  45.   end repeat
  46.   repeat while unshuffledCards.count > 0
  47.     shuffledCards.add(unshuffledCards[random(unshuffledCards.count)])
  48.     unshuffledCards.deleteOne(shuffledCards[shuffledCards.count])
  49.   end repeat
  50.   return shuffledCards
  51. end
  52.  
  53. on reshuffle arg
  54.   sho = []
  55.   repeat with i = 1 to arg.count
  56.     sho.add([#rank: arg[i].rank, #suit: arg[i].suit])
  57.   end repeat
  58.   return sho
  59. end
  60.